Instalando o Zend Framework 2 no Ubuntu
Instale o Zend 2 no Ubuntu rodando com Apache
O Zend Framework é o mais popular dos frameworks em PHP. Eu busco usá-lo a fim de aprender melhores práticas de programação, além de deixá o código entendível para os próximos. Hoje vou explicar como instalá-lo no Ubuntu utilizando o Apache.
Skeleton
Baixe o skeleton (esse é um esqueleto de pastas e arquivos organizado para criar sua primeira aplicação) usando o git pelo terminal.
git clone git://github.com/zendframework/ZendSkeletonApplication.git nomeDaAplicacao
Eu incrementei nomeDaAplicacao, que é para ele renomear a nova pasta criada para o nome que eu usarei na aplicação.
Instalação
Mude de pasta, e rode o composer.
cd nomeDaAplicacao
php composer.phar install
Normalmente leva um tempo para ele instalar. Em seguida, rode em um virtualhost.
Virtualhost
Virtualhost serve para você rodar localmente suas aplicações web. Para isso, será necessário mexer em algumas configurações. Habilite o Rewrite no Apache. Isso serve para que se possa redirecionar suas urls pelo .htaccess.
sudo a2enmod rewrite
Edite os virtualhosts Crie um novo arquivo em /etc/apache2/sites-available/nomeDaAplicacao, e configurá-lo. Sugiro copiar o default já existente, e alterar os dois AllowOverride None para AllowOverride All. Depois disso, colocar o ServerName com o nomeDaAplicacao. Segue um exemplo:
<VirtualHost *:80>
ServerName nomeDaAplicacao
ServerAdmin webmaster@localhost
SetEnv APPLICATION_ENV "development"
DocumentRoot /home/usuario/nomeDaAplicacao/public
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/usuario/nomeDaAplicacao/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Após criá-lo, basta criar um atalho nos sites-enabled, com o seguinte código:
ln -s /etc/apache2/sites-available/nomeDaAplicacao /etc/apache2/sites-enabled/nomeDaAplicacao
Redirecionando o host Edite o arquivo /etc/hosts Basta copiar a linha de localhost, como a seguir
127.0.0.1 localhost
127.0.0.1 nomeDaAplicacao
Reiniciar o Apache É necessário reiniciá-lo, para que se atualize das novas informações inseridas:
sudo service apache2 restart
Com isso, já é possível funcionar sua primeira aplicação ao abrir http://nomeDaAplicacao e aparecer a seguinte tela de boas vindas:
Dicas
É interessante saber mexer com comandos do terminal (sudo, vi, cp, ln…) para agilizar na hora de editar esses arquivos. Mas caso não saiba, será necessário mexer em alguns arquivos como super usuário. Pra isso, abra o terminal (Ctrl + Alt + T), e execute o código:
sudo nautilus
Com isso, você pode usar o gerenciador de arquivos para edição.
Fontes: